package com.it.controller;

import com.it.pojo.SysFood;
import com.it.pojo.SysImage;
import com.it.service.SysFoodService;
import com.it.service.SysImageService;
import com.it.utils.ResultData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;
import java.util.Map;

/**
 * @Controller 我的订餐
 *   作用1： 将当前对象的创建交给spring管理
 *   作用2：作为控制层代码的标识
 */
@Controller
public class ClDishesController {

    @Autowired    //自动注入(由spring创建当前对象并为属性赋值)
    private SysFoodService sysFoodService;

    @Autowired	//自动注入(由spring创建当前对象并为属性赋值)
    private SysImageService sysImageService;

    /** 1.查询所有食物信息 */
    @RequestMapping("/clDishesPage")
    public String clDishesPage(Model model){
        //调用service层的findAll方法，查询所有的食物信息
        return "cl/dishes/index";
    }

    /** 2.查询所有食物信息 */
    @RequestMapping("/clDishesList")
    @ResponseBody
    public ResultData<List<SysFood>> clDishesList(Map<String, Object> params){
        //调用service层的findAll方法，查询所有的食物信息
        ResultData<List<SysFood>> result = new ResultData<List<SysFood>>();
        try{
            List<SysFood> list = sysFoodService.findAll();

            for(SysFood food:list){
                List<SysImage> images = sysImageService.findByLink(food.getId(), 2);
                if(images != null && images.size() > 0){
                    food.setSysImage(images.get(0));
                }
            }

            //将所有食物信息的list集合存入model中，带到JSP显示
//            model.addAttribute("list", list);
            result.setData(list);

        } catch(Exception e){
            e.printStackTrace();
        }
        return result;
    }


}
